import { TOGGLE_SIDEBAR, CLOSE_SIDEBAR, TOGGLE_DEVICE } from '../MutationTypes'

const state = {
   sidebar: {
      opened: true,
      withoutAnimation: false
   },
   device: 'desktop'
}

const mutations = {
   [TOGGLE_SIDEBAR]: state => {
      state.sidebar.opened = !state.sidebar.opened
      state.sidebar.withoutAnimation = false
   },
   [CLOSE_SIDEBAR]: (state, withoutAnimation) => {
      state.sidebar.opened = false
      state.sidebar.withoutAnimation = withoutAnimation
   },
   [TOGGLE_DEVICE]: (state, device) => {
      state.device = device
   }
}

const actions = {
   toggleSideBar ({ commit }) {
      commit(TOGGLE_SIDEBAR)
   },
   closeSideBar ({ commit }, { withoutAnimation }) {
      commit(CLOSE_SIDEBAR, withoutAnimation)
   },
   toggleDevice ({ commit }, device) {
      commit(TOGGLE_DEVICE, device)
   }
}

const getters = {
   sidebar: state => state.sidebar,
   device: state => state.device
}

export const app = {
   state,
   mutations,
   actions,
   getters
}
